/**
 * 
 */
package com.demo2do.fms.scheduler.service;

import com.demo2do.fms.scheduler.entity.appointment.DriverCostAppointment;
import com.demo2do.fms.scheduler.entity.appointment.DriverMileageAppointment;
import com.demo2do.fms.scheduler.entity.appointment.TransportRevenueAppointment;
import com.demo2do.fms.scheduler.entity.appointment.VehicleMileageAppointment;

/**
 *
 * @author Ark
 *
 */
public interface AppointmentWriter {
    
    /**
     * @param appointment
     */
    public void auditVehicleMileage(VehicleMileageAppointment appointment);
    
    /**
     * export start
     * 
     * @param appointment
     */
    public void startVehicleMileage(VehicleMileageAppointment appointment);
    
    /**
     * do export
     * 
     * @param appointment
     */
    public void exportVehicleMileage(VehicleMileageAppointment appointment);
    
    /**
     * @param appointment
     */
    public void expireVehicleMileage(VehicleMileageAppointment appointment);

    /**
     * @param appointment
     */
    public void auditDriverMileage(DriverMileageAppointment appointment);
    
    /**
     * @param appointment
     */
    public void startDriverMileage(DriverMileageAppointment appointment);
    
    /**
     * @param appointment
     */
    public void exportDriverMileage(DriverMileageAppointment appointment);
    
    /**
     * @param appointment
     */
    public void expireDriverMileage(DriverMileageAppointment appointment);
    
    /**
     * @param appointment
     */
    public void auditTransportRevenue(TransportRevenueAppointment appointment);
    
    /**
     * @param appointment
     */
    public void startTransportRevenue(TransportRevenueAppointment appointment);
    
    /**
     * @param appointment
     */
    public void exportTransportRevenue(TransportRevenueAppointment appointment);
    
    /**
     * @param appointment
     */
    public void expireTransportRevenue(TransportRevenueAppointment appointment);
    
    /**
     * @param appointment
     */
    public void auditDriverCost(DriverCostAppointment appointment);
    
    /**
     * @param appointment
     */
    public void startDriverCost(DriverCostAppointment appointment);
    
    /**
     * @param appointment
     */
    public void exportDriverCost(DriverCostAppointment appointment);
    
    /**
     * @param appointment
     */
    public void expireDriverCost(DriverCostAppointment appointment);
    
}
